package service;

import java.util.ArrayList;

import modelo.MesaDao;
import modelo.PedidoDao;
import entities.MesaEntity;
import entities.MozoEntity;
import entities.PedidoEntity;
import beans.MesaBean;
import beans.MozoBean;
import beans.PedidoBean;

public class MesaSrv {

private static MesaSrv instancia = null;
	
	public static MesaSrv getInstancia() {
		if(instancia == null) {
			instancia = new MesaSrv();
		}
		return instancia;
	}
	
	public void guardarMesa(MesaBean mesa) {
		MesaEntity mesaEntity = bean2Entity(mesa);
		MesaDao.getInstancia().save(mesaEntity);
	}
	
	public MesaEntity bean2Entity(MesaBean m){
		
		MesaEntity entity = new MesaEntity();
		
		entity.setCapacidad(m.getCapacidad());
		entity.setCapMax(m.getCapMax());
		entity.setEstado(m.getEstado());
		entity.setIdMesa(m.getIdMesa());

		return entity;
	}
	
	public MesaBean entity2Bean(MesaEntity m){
		
		MesaBean bean = new MesaBean();
		bean.setCapacidad(m.getCapacidad());
		bean.setCapMax(m.getCapMax());
		bean.setEstado(m.getEstado());
		bean.setIdMesa(m.getIdMesa());
		return bean;
	}
	
	public void modificarMesa(MesaBean mesa) {
		MesaEntity entity = this.bean2Entity(mesa);
		MesaDao.getInstancia().modificarMesa(entity);	
	}
	
	public ArrayList<MesaBean> obtenerMesasLibres() {
		ArrayList<MesaEntity> mesasEntity = MesaDao.getInstancia().obtenerMesasLibres();
		
		ArrayList<MesaBean> mesasLibres = new ArrayList<MesaBean>();
		for (MesaEntity entity : mesasEntity) {
			MesaBean mesaLibre = this.entity2Bean(entity);
			mesasLibres.add(mesaLibre);
		}
			
		return mesasLibres;
	}
}
